package com.panghl.jfreecharts;

import org.jfree.chart.*;
import org.jfree.data.general.DefaultPieDataset;

import java.awt.*;
import java.io.File;
import java.io.IOException;

/**
 * @Author panghl
 * @Date 2022/3/3
 * @Description jfreechart  饼状图
 **/
public class JFreeChartsDemo {
    public static void main(String[] args) throws IOException {
        //需求： 统计每个部门的人员
        //1.准备数据   技术部 180  销售部 20  人事部10
        DefaultPieDataset defaultPieDataset = new DefaultPieDataset(); //饼状数据集
        defaultPieDataset.setValue("技术部",180);
        defaultPieDataset.setValue("销售部",20);
        defaultPieDataset.setValue("人事部",10);

        StandardChartTheme chartTheme = new StandardChartTheme("CN");
        //设置大标题的字体
        chartTheme.setExtraLargeFont(new Font("楷体",Font.BOLD,20));
        //设置图例的字体
        chartTheme.setRegularFont(new Font("楷体",Font.BOLD,15));
        //设置图片的内容  xy轴
        chartTheme.setLargeFont(new Font("楷体",Font.BOLD,15));
        ChartFactory.setChartTheme(chartTheme);

        //String title, PieDataset dataset, boolean legend, boolean tooltips, boolean urls
        // 大标题          数据集             是否显示图例      是否显示提示(CS架构)    是否跳转(CS架构)
        //JFreeChart jfc= ChartFactory.createPieChart("这是饼状图标题", defaultPieDataset);
        JFreeChart jfc= ChartFactory.createPieChart3D("这是饼状图标题", defaultPieDataset);
        ChartUtils.saveChartAsPNG(new File("D:\\jfreecharts.png"),jfc,400,300);
    }
}
